package com.tbit.uqbike.object.pojo;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.Date;
import java.util.Objects;

/**
 * @author MyWin E-mail:335918956@qq.com
 * @version 1.0
 * @createTime 2020-01-02 20:46
 */
public class AccountUser {
    /**
     * 账户id
     */
    private Integer accountUserId;
    /**
     * 姓名
     */
    private String name;
    /**
     * 密码
     */
    private String password;
    /**
     * 国家代码
     */
    private String country;
    /**
     * 联系方式
     */
    private String phone;
    /**
     * 身份证号码
     */
    private String idNO;
    /**
     * 姓名
     */
    private String userName;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 添加时间
     */
    private Date joinTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 只有收益权限
     */
    private Integer profitLimit;
    /**
     * 备注
     */
    private String remark;
    /**
     * 子类型
     */
    /**
     * subRoleType 子级角色类型:
     * 0 表示跟主权限一致，0是默认值
     * 1:表示区域运维管理员
     * 2:表示区域运维人员
     * 6:表示区域客服
     * 7:代表股东
     */
    private Integer subRoleType;
    /***
     * 到期时间 expireDate
     */
    private String expireDate;
    /**
     * 分区id集合
     */
    private String regionIds;

    private String regionName;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 删除标识
     */
    private Integer delFlag;

    /**
     * 是否有密码 0：没有 1：有
     */
    private Integer hasPassword;

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public boolean isDel() {
        return Objects.equals(1, delFlag);
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public String getRegionIds() {
        return regionIds;
    }

    public void setRegionIds(String regionIds) {
        this.regionIds = regionIds;
    }

    public Integer getSubRoleType() {
        return subRoleType;
    }

    public void setSubRoleType(Integer subRoleType) {
        this.subRoleType = subRoleType;
    }

    public Integer getAccountUserId() {
        return accountUserId;
    }

    public void setAccountUserId(Integer accountUserId) {
        this.accountUserId = accountUserId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @JSONField(serialize = false)
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getIdNO() {
        return idNO;
    }

    public void setIdNO(String idNO) {
        this.idNO = idNO;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getJoinTime() {
        return joinTime;
    }

    public void setJoinTime(Date joinTime) {
        this.joinTime = joinTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getProfitLimit() {
        return profitLimit;
    }

    public void setProfitLimit(Integer profitLimit) {
        this.profitLimit = profitLimit;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(String expireDate) {
        this.expireDate = expireDate;
    }

    public Integer getHasPassword() {
        return hasPassword;
    }

    public void setHasPassword(Integer hasPassword) {
        this.hasPassword = hasPassword;
    }

    @Override
    public String toString() {
        return "AccountUser{" +
                "accountUserId=" + accountUserId +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", country='" + country + '\'' +
                ", phone='" + phone + '\'' +
                ", idNO='" + idNO + '\'' +
                ", userName='" + userName + '\'' +
                ", email='" + email + '\'' +
                ", joinTime=" + joinTime +
                ", updateTime=" + updateTime +
                ", remark='" + remark + '\'' +
                ", subRoleType=" + subRoleType +
                ", regionIds=" + regionIds +
                ", regionName=" + regionName +
                '}';
    }
}
